Skip to content

Make an empty project-instructions-path actually disable the file - #336

Merged
theletterf merged 1 commit into
mainfrom
fix/empty-instructions-path
Sep 10, 2026
Merged

Make an empty project-instructions-path actually disable the file#336
theletterf merged 1 commit into
mainfrom
fix/empty-instructions-path

Conversation

@theletterf

Copy link
Copy Markdown
Member

Summary

project-instructions-path: "" is documented as the way to disable the project instructions file, but it didn't work: in sandbox testing the agent read .github/triage-instructions.md anyway.

With the input empty, the prompt rendered as "If `` is not empty, use the GitHub repository read tools to read that path" — a degenerate sentence the model skipped, after which it went and found the conventional file on its own. The run artifact shows an explicit get_file_contents on `.github/triage-instructions.md`, with the input confirmed empty in the activation log.

The empty case is now stated explicitly: do not read any instructions file, not even one at the default location, because the caller disabled it deliberately. Applied to issue-triage, issue-auto-triage, and issue-scope, which share the construction. Lock files recompiled.

No interface change. Callers that never set the input to "" see no difference.

Test plan

  • gh aw compile clean on all three workflows
  • New wording present in all three compiled lock files
  • Sandbox: /triage with project-instructions-path: "" applies type + triaged only — no board metadata, and no get_file_contents on the instructions path in the agent artifact

🤖 Generated with Claude Code

Sandbox testing with `project-instructions-path: ""` showed the agent
reading `.github/triage-instructions.md` anyway. With the input empty,
the prompt rendered as "If `` is not empty, read that path" — a
degenerate sentence the model skipped before going on to find the
conventional file on its own.

The empty case is now stated explicitly: do not read any instructions
file, not even one at the default location, because the caller disabled
it deliberately. Applied to triage, auto-triage, and scope, which share
the construction.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@theletterf
theletterf requested a review from a team as a code owner September 10, 2026 11:47
@theletterf theletterf self-assigned this Sep 10, 2026
@theletterf theletterf added the fix label Sep 10, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved: no actionable issues found.


What is this? | From workflow: PR Review

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

@theletterf

Copy link
Copy Markdown
Member Author

Sandbox result for the unchecked test-plan item — partial.

With project-instructions-path: "" and .github/triage-instructions.md present in the repo:

So the explicit wording helps but does not reliably stop haiku from reading the conventional path when the input is empty. I'm not going to iterate on prompt wording further; today's triage work showed that's a poor lever on this model tier.

The gap is narrow in practice: it only bites when a repository has the file and a caller passes "" to suppress it. A repository that wants no project instructions simply doesn't have the file — which is docs-content's situation — and that path is unaffected. Worth merging as a strict improvement, with the README caveat that "" is best-effort rather than a hard disable.

@theletterf
theletterf merged commit 02456c9 into main Sep 10, 2026
16 of 17 checks passed
@theletterf
theletterf deleted the fix/empty-instructions-path branch September 10, 2026 12:22
theletterf added a commit that referenced this pull request Sep 10, 2026
Takes #336 (empty project-instructions-path handling). The scope lock
file conflicted; regenerated it with gh aw compile from the merged source
rather than resolving by hand.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant